Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Leggere contenuto tag XML
Forum - C# / VB.NET - [VB.NET] Leggere contenuto tag XML

Avatar
arterella (Normal User)
Rookie


Messaggi: 37
Iscritto: 14/07/2012

Segnala al moderatore
Postato alle 14:32
Venerdì, 02/11/2012
Ciao ragazzi,
vi espongo il mio problema.
Ho un file xml (che sarebbe un documento fiscale), in questo file ci sono dei dati che io devo leggere, i dati sono all'interno dei tag xml
Codice sorgente - presumibilmente Plain Text

  1. <price>
  2. 20
  3. </price>



stavo cercando di farglieli leggere in automatico senza dover scorrere tutte le righe dell'xml finchè trova il tag <price> ma anche facendo così ho dovuto dargli un take altrimenti non me li prende.
Il problema sorge se ho non 20 ma 200 nel valore price.
Sapete se esiste un modo per fargli leggere "automaticamente" il valore all'interno del tag?
Ho provato a fare una ricerca ma non ne sono venuta a capo.

Il codice che ho usato io è questo
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
  2.    Dim reader As New XmlTextReader(FilePath3)
  3.         Dim docXML As New System.Xml.XmlDocument
  4.         Dim prova As New Serialization
  5.  Dim linee As String() = IO.File.ReadAllLines(FilePath3)
  6.  Dim lineaRicerca As String = "<Price>"
  7.  
  8.         Do While reader.Read
  9.             For i As Integer = 0 To linee.Count - 1
  10.  
  11.                 If linee(i).Contains(lineaRicerca) Then
  12.                     Debug.WriteLine(linee(i).Skip(16).Take(2))
  13.                 End If
  14.             Next
  15.         Loop
  16.         reader.Close()
  17.  
  18.         Console.ReadKey()
  19.    End Sub


però appunto scorro tutto l'xml, quando trovo <price> prendo tutta la riga e tolgo <price> e prendo solo i primi 2 caratteri subito dopo..... però mi sembra strano non esista un modo per leggere il valore senza fare sto giro "algebrico".:nono:

Grazie mille
Ingrid

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6405
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:44
Venerdì, 02/11/2012
Perché hai dichiarato un XmlDocument e non l'hai usato?

Esistono tanti metodi per farlo ... e non credo che tu abbia fatto una piccola ricerca altrimenti ne avresti trovato decine ... comunque, leggi questo

http://vb.net-informations.com/xml/open-xml-vb.net.htm

tra i tanti esempi.

Oppure leggi la guida su questo forum

http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...

Ultima modifica effettuata da nessuno il 02/11/2012 alle 14:45


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
arterella (Normal User)
Rookie


Messaggi: 37
Iscritto: 14/07/2012

Segnala al moderatore
Postato alle 14:50
Venerdì, 02/11/2012
Sono 3 giorni che facciamo ricerche.
Comunque abbiamo risolto così:

Codice sorgente - presumibilmente C# / VB.NET

  1. Dim xmr As New XmlTextReader(FilePath2)
  2.         xmr.ReadToFollowing("BizDocument")
  3.  
  4.         xmr.MoveToAttribute("Price")
  5.         MessageBox.Show(xmr.Name)
  6.         xmr.ReadToFollowing("Price")
  7.  
  8.         MessageBox.Show(xmr.ReadElementContentAsString())


PM Quote